package com.ft.adbix.core.ad;

import com.ft.adbix.core.base.AdParams;
import com.ft.adbix.core.common.AdError;

import java.util.List;

public interface AdBixAdNative {

    void loadNativeAd(AdParams adParams, NativeAdListener listener);

    void loadSplashAd(AdParams adParams, SplashAdListener listener);

    void loadRewardVideoAd(AdParams adParams, RewardVideoAdListener listener);

    void loadInterstitialAd(AdParams adParams, InterstitialAdListener listener);

    void loadNativeExpressAd(AdParams adParams, NativeExpressAdListener listener);

    void loadBannerAd(AdParams adParams, BannerAdListener listener);

    /** @deprecated */
    @Deprecated
    void loadInteractionExpressAd(AdParams var1, NativeExpressAdListener var2);

    public interface NativeExpressAdListener {
        void onError(int errorCode, String errorMsg);

        void onNativeExpressAdLoad(List<NativeExpressAd> var1);
    }

    public interface BannerAdListener {
        void onError(int errorCode, String errorMsg);

        void onBannerAdLoad(BannerAd var1);
    }

    public interface InterstitialAdListener {
        void onError(int errorCode, String errorMsg);

        void onInterstitialAdLoad(InterstitialAd var1);
    }

    public interface RewardVideoAdListener {
        void onError(int errorCode, String errorMsg);

        void onRewardVideoAdLoad(RewardAd rewardAd);

        void onRewardVideoCached(RewardAd rewardAd);
    }

    public interface SplashAdListener {
        void onSplashLoadSuccess(SplashAd splashAd);

        void onError(int errorCode, String errorMsg);
    }

    public interface NativeAdListener {
        void onError(int errorCode, String msg);

        void onNativeAdLoad(NativeAd nativeAd);
    }

}
